package com.mentaleye.biz;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.mentaleye.dal.model.Prompt;
import com.mentaleye.enums.CommonStatus;
import com.mentaleye.util.CommonPage;
import com.mentaleye.util.CommonResult;

public interface PromptBiz {

	/**
	 * 添加提醒  角色或者单独人员
	 * @param promptContext  提醒显示的内容
	 * @param endDate  提醒发生时间
	 * @param promptRoleId  提醒角色编号 可为空
	 * @param promptPersonId  提醒人员编号  可为空。角色和人员不可都为空
	 * @param commonStatus  提醒类型枚举
	 * @return
	 */
	public boolean promptSave(String promptContext, Date endDate, String promptRoleId, String promptPersonId,
							  CommonStatus commonStatus);
	/**
	 * 添加提醒  所有人
	 * @param promptContext  提醒显示的内容
	 * @param endDate  提醒发生时间
	 * @param commonStatus  提醒类型枚举
	 * @param isAllPerson  是否提醒所有人   1是0否
	 * @return
	 */
	public boolean promptSave(String promptContext, Date endDate,
							  CommonStatus commonStatus);
	/**
	 *
	 * @param classId 班级编号
	 * @param prompt  提醒内容。调用实体类中的构造方法。传内容，结束日期，提醒类型的编号（课程编号等）
	 * @param commonStatus  提醒类型枚举
	 * @return
	 */
	public boolean promptSave(int classId, Prompt prompt,
							  CommonStatus commonStatus);


	/**
	 * 通过commonPage，提醒类型查询提醒数据
	 * @param commonPage
	 */
	public void getPromptByType(CommonPage commonPage);
	/**
	 * 查询未读提醒数
	 * @return
	 */
	public List<Map<String, Object>> getCount();
	/**
	 * 修改读取状态
	 * @param id
	 */
	public CommonResult updateReadStatus(Integer id);
	/**
	 * 修改读取状态
	 * @param ids
	 * @param status
	 * @return
	 */
	public CommonResult updateRead(List<Integer> ids,String status);
	
	
}
